// 1. 引入axios
import axios from 'axios'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

// 2. 创建axios实例
const mockAjax = axios.create({
  baseURL:'/mock',
  timeout:1000
})
// 3. 设置请求拦截器
mockAjax.interceptors.request.use(config => {
  NProgress.start();
  return config;
})

// 4. 设置响应拦截器
mockAjax.interceptors.response.use(
 response => {
  NProgress.done();
  return response.data;
 } ,
 error => {
  NProgress.done();
   // 如果在此处返回的是一个非Promise值,则会认为是成功的请求，因此应该返回真正的Pomise对象,并且是事变的promise对象

  return Promise.reject(new Error(error.message)) 
 }
)

// 5. 导出当前的异步对象
export default mockAjax;